Slicing AspectJ Woven Code

نویسندگان

  • Davide Balzarotti
  • Antonio Castaldo
  • Luca Cavallaro
  • Mattia Monga
چکیده

The AspectJ programming language allows for the expression, in a compact way, of computations that affect several points in a program (join points), even without knowing where these point exactly are. This is claimed to ease the separation of cross-cutting code. However, it is not clear how real the separation is. In fact it might be difficult to figure out the behavior of the whole system. In order to analyze how an aspect affects the system, one has to consider the slices of the system affected by aspectual computations. However, the expressive power of AspectJ constructs makes difficult to implement slicing algorithms that are both precise and produce useful, i.e., small enough, slices. In this paper we describe our approach to slice AspectJ programs, based on the analysis of the woven code.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Data-flow and Control-flow Analysis of AspectJ Software for Program Slicing

We propose an approach for program slicing of AspectJ software, based on a novel data-flow and control-flow program representation. The representation is built at the source-code level and, unlike previous work, captures the semantic intricacies of various pointcut designators, multiple advices per joint point, dynamic advices, exceptions, and general flow of data to, from, and between advices....

متن کامل

Using Program Slicing to Analyze Aspect Oriented Composition

AspectJ language was proposed to make cross-cutting concerns clearly identifiable with special linguistic constructs called aspects. In order to analyze the properties of an aspect one should consider the aspect itself and the part of the system it affects. This part is just a slice of the entire system and can be extracted by exploiting program slicing algorithms. However, the expressive power...

متن کامل

Zero-Overhead Composable Aspects for .NET

We present a new static aspect weaver for C#. The weaver, which is called Yiihaw, works by transforming a program’s bytecode and types, stored in so-called assemblies, and performs extensive checks at weave-time to ensure correctness of the resulting woven assembly. The design makes four contributions: (a) Application of generic advice is typesafe; (b) application of “around” advice incurs no r...

متن کامل

Reasoning on AspectJ Programmes

In this paper we suggest that in order to analyse the properties of an AspectJ aspect one can consider the aspect itself and the part of the system it affects. In fact, we argue that in AspectJ every pointcut declaration defines a “slicing criterion” that can be used to compute the associated slice. One can use the sliced programme to build useful models of the system and the aspects and exploi...

متن کامل

Modular Generic Verification of LTL Properties for Aspects

Aspects are separate code modules that can be bound (“woven”) to a base program at joinpoints to provide an augmented program. A novel approach is defined to verify that an aspect state machine will provide desired properties whenever it is woven over a base state machine that satisfies the assumptions of the aspect. A single state machine is constructed using the tableau of the linear temporal...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005